
set(name wifi)
set(source_files
        model/wifi-utils.cc
        model/wifi-information-element.cc
        model/wifi-information-element-vector.cc
        model/wifi-mode.cc
        model/ssid.cc
        model/wifi-phy.cc
        model/wifi-phy-state-helper.cc
        model/error-rate-model.cc
        model/yans-error-rate-model.cc
        model/nist-error-rate-model.cc
        model/dsss-error-rate-model.cc
        model/interference-helper.cc
        model/yans-wifi-phy.cc
        model/yans-wifi-channel.cc
        model/spectrum-wifi-phy.cc
        model/wifi-spectrum-phy-interface.cc
        model/wifi-spectrum-signal-parameters.cc
        model/wifi-phy-header.cc
        model/wifi-mac-header.cc
        model/wifi-mac-trailer.cc
        model/mac-low.cc
        model/mac-low-transmission-parameters.cc
        model/wifi-mac-queue.cc
        model/mac-tx-middle.cc
        model/mac-rx-middle.cc
        model/txop.cc
        model/supported-rates.cc
        model/capability-information.cc
        model/status-code.cc
        model/mgt-headers.cc
        model/channel-access-manager.cc
        model/wifi-mac.cc
        model/regular-wifi-mac.cc
        model/infrastructure-wifi-mac.cc
        model/wifi-remote-station-info.cc
        model/wifi-remote-station-manager.cc
        model/ap-wifi-mac.cc
        model/sta-wifi-mac.cc
        model/adhoc-wifi-mac.cc
        model/wifi-net-device.cc
        model/arf-wifi-manager.cc
        model/aarf-wifi-manager.cc
        model/ideal-wifi-manager.cc
        model/constant-rate-wifi-manager.cc
        model/amrr-wifi-manager.cc
        model/onoe-wifi-manager.cc
        model/rraa-wifi-manager.cc
        model/aarfcd-wifi-manager.cc
        model/cara-wifi-manager.cc
        model/minstrel-wifi-manager.cc
        model/minstrel-ht-wifi-manager.cc
        model/qos-utils.cc
        model/qos-txop.cc
        model/msdu-aggregator.cc
        model/amsdu-subframe-header.cc
        model/originator-block-ack-agreement.cc
        model/ctrl-headers.cc
        model/qos-blocked-destinations.cc
        model/block-ack-agreement.cc
        model/block-ack-manager.cc
        model/block-ack-cache.cc
        model/block-ack-window.cc
        model/snr-tag.cc
        model/ht-capabilities.cc
        model/wifi-tx-vector.cc
        model/parf-wifi-manager.cc
        model/aparf-wifi-manager.cc
        model/rrpaa-wifi-manager.cc
        model/ampdu-subframe-header.cc
        model/mpdu-aggregator.cc
        model/ampdu-tag.cc
        model/wifi-radio-energy-model.cc
        model/wifi-tx-current-model.cc
        model/vht-capabilities.cc
        model/erp-information.cc
        model/ht-operation.cc
        model/vht-operation.cc
        model/dsss-parameter-set.cc
        model/edca-parameter-set.cc
        model/he-capabilities.cc
        model/frame-capture-model.cc
        model/simple-frame-capture-model.cc
        model/preamble-detection-model.cc
        model/threshold-preamble-detection-model.cc
        model/he-operation.cc
        model/he-configuration.cc
        model/extended-capabilities.cc
        model/cf-parameter-set.cc
        model/wifi-mac-queue-item.cc
        model/wifi-psdu.cc
        model/wifi-ppdu.cc
        model/ht-configuration.cc
        model/vht-configuration.cc
        model/obss-pd-algorithm.cc
        model/constant-obss-pd-algorithm.cc
        model/wifi-ack-policy-selector.cc
        model/constant-wifi-ack-policy-selector.cc
        helper/wifi-radio-energy-model-helper.cc
        helper/athstats-helper.cc
        helper/wifi-helper.cc
        helper/yans-wifi-helper.cc
        helper/spectrum-wifi-helper.cc
        helper/wifi-mac-helper.cc
        )

set(header_files
        model/wifi-utils.h
        model/wifi-information-element.h
        model/wifi-information-element-vector.h
        model/wifi-net-device.h
        model/wifi-mode.h
        model/ssid.h
        model/wifi-preamble.h
        model/wifi-phy-standard.h
        model/yans-wifi-phy.h
        model/spectrum-wifi-phy.h
        model/yans-wifi-channel.h
        model/wifi-phy.h
        model/wifi-spectrum-phy-interface.h
        model/wifi-spectrum-signal-parameters.h
        model/interference-helper.h
        model/wifi-remote-station-info.h
        model/wifi-remote-station-manager.h
        model/ap-wifi-mac.h
        model/sta-wifi-mac.h
        model/adhoc-wifi-mac.h
        model/arf-wifi-manager.h
        model/aarf-wifi-manager.h
        model/ideal-wifi-manager.h
        model/constant-rate-wifi-manager.h
        model/amrr-wifi-manager.h
        model/onoe-wifi-manager.h
        model/rraa-wifi-manager.h
        model/aarfcd-wifi-manager.h
        model/cara-wifi-manager.h
        model/minstrel-wifi-manager.h
        model/minstrel-ht-wifi-manager.h
        model/wifi-mac.h
        model/regular-wifi-mac.h
        model/infrastructure-wifi-mac.h
        model/supported-rates.h
        model/error-rate-model.h
        model/yans-error-rate-model.h
        model/nist-error-rate-model.h
        model/dsss-error-rate-model.h
        model/wifi-mac-queue.h
        model/txop.h
        model/wifi-phy-header.h
        model/wifi-mac-header.h
        model/wifi-mac-trailer.h
        model/wifi-phy-state-helper.h
        model/qos-utils.h
        model/qos-txop.h
        model/msdu-aggregator.h
        model/amsdu-subframe-header.h
        model/mgt-headers.h
        model/status-code.h
        model/capability-information.h
        model/channel-access-manager.h
        model/mac-tx-middle.h
        model/mac-rx-middle.h
        model/mac-low.h
        model/mac-low-transmission-parameters.h
        model/originator-block-ack-agreement.h
        model/ctrl-headers.h
        model/block-ack-agreement.h
        model/block-ack-manager.h
        model/block-ack-cache.h
        model/block-ack-window.h
        model/snr-tag.h
        model/ht-capabilities.h
        model/parf-wifi-manager.h
        model/aparf-wifi-manager.h
        model/rrpaa-wifi-manager.h
        model/wifi-tx-vector.h
        model/ampdu-subframe-header.h
        model/mpdu-aggregator.h
        model/ampdu-tag.h
        model/wifi-radio-energy-model.h
        model/wifi-tx-current-model.h
        model/vht-capabilities.h
        model/erp-information.h
        model/ht-operation.h
        model/vht-operation.h
        model/dsss-parameter-set.h
        model/edca-parameter-set.h
        model/he-capabilities.h
        model/frame-capture-model.h
        model/simple-frame-capture-model.h
        model/preamble-detection-model.h
        model/threshold-preamble-detection-model.h
        model/qos-blocked-destinations.h
        model/he-operation.h
        model/he-configuration.h
        model/extended-capabilities.h
        model/cf-parameter-set.h
        model/wifi-mac-queue-item.h
        model/wifi-psdu.h
        model/wifi-ppdu.h
        model/wifi-phy-state.h
        model/wifi-phy-listener.h
        model/block-ack-type.h
        model/wifi-mpdu-type.h
        model/ht-configuration.h
        model/vht-configuration.h
        model/obss-pd-algorithm.h
        model/constant-obss-pd-algorithm.h
        model/wifi-ack-policy-selector.h
        model/constant-wifi-ack-policy-selector.h
        helper/wifi-radio-energy-model-helper.h
        helper/athstats-helper.h
        helper/wifi-helper.h
        helper/yans-wifi-helper.h
        helper/spectrum-wifi-helper.h
        helper/wifi-mac-helper.h
        )

set(libraries_to_link
        ${libnetwork}
        ${libpropagation}
        ${libenergy}
        ${libspectrum}
        ${libantenna}
        ${libmobility})


set(test_sources
        test/block-ack-test-suite.cc
        test/channel-access-manager-test.cc
        test/tx-duration-test.cc
        test/power-rate-adaptation-test.cc
        test/wifi-test.cc
        test/spectrum-wifi-phy-test.cc
        test/wifi-aggregation-test.cc
        test/wifi-error-rate-models-test.cc
        test/wifi-transmit-mask-test.cc
        test/wifi-phy-thresholds-test.cc
        test/wifi-phy-reception-test.cc
        test/inter-bss-test-suite.cc
        )

build_lib("${name}" "${source_files}" "${header_files}" "${libraries_to_link}" "${test_sources}")

